export enum ActivityStatusEnum {
  /** 活动发布(活动审核通过) */
  REGISTRATION_UNPLAYED = 1,
  /** 报名进行中 */
  REGISTRATION_UNDERWAY = 2,
  /** 报名结束 */
  REGISTRATION_END = 3,
  /** 活动开始（活动进行中） */
  START = 4,
  /** 活动结束 */
  END = 5,
  /** 活动取消 */
  CANCEL = 6,
  /** 活动审核中 */
  UNDERREVIEW = 7,
  /** 活动审核失败 */
  AUDITFAILURE = 8,
  /** 活动报名未开始 */
  REGISTRATION_NOTSTARTED = 9
}

/**
 * 是否有审核权限
 */
export enum IsAuditAuthEnum {
  /** 无审核权限 */
  NO,
  /** 有审核权限 */
  YES,
}

export enum ApprovalStatusEnum {
  /** 报名审核中 */
  UNDERREVIEW = 1,
  /** 报名驳回 */
  REJECT = 2,
  /** 报名已通过 */
  PASSED = 3,
  /** 未通过 */
  NOTPASS = 4,
  /**取消报名 */
  CANCEL = 6,
  /** 取消中 */
  CANCELING = 7,
  /**待参加 （只在我的活动页面使用）*/
  WAITPARTICIPATEIN = 20
}

/**
 * @description 活动报名取消审批状态
 * @description 1：待审核 2：取消申请已驳回 3：已通过
 * @date 28/08/2024
 * @export
 * @enum {number}
 */
export enum CancelApprovalStatusEnum {
  /** 待审核 */
  UNDERREVIEW = 1,
  /** 取消申请已驳回 */
  REJECT = 2,
  /** 已通过 */
  PASSED = 3,
}

export enum EnrollStatusEnum {
  /** 该单位报名名额已满， */
  ENROLLMENTFULL = 1,
  /** 该单位人员暂无报名权限 */
  NOACCESS = 2,
  /** 可报名状态 */
  ALLOW = 3,
}

export enum NonmemberIsopenEnum {
  /** 不对非会员开放 */
  NO,
  /** 对非会员开放 */
  YES,
}

export enum EnrollVerifyEnum {
  /** 不需要审核 */
  NO,
  /** 需要审核 */
  YES,
}

/**签到状态 */
export enum SignStatusEnum {
  /** 未签到 */
  NO_SIGN = 0,
  /** 已签到 */
  YES_SIGN = 1,
}

/**
 * 发布状态
 */
export enum PublishStatusEnum {
  /** 未发布 */
  NO_PUBLISH = 0,
  /** 已发布 */
  YES_PUBLISH = 1,
  /** 已下架 */
  OFF_SHELF = 2,
}

/**活动方 */
export enum ActivityTypeEnum {
  /**发起单位，本组织 */
  oneself = 'oneself',
  /**协办单位，其他组织 */
  other_join = 'other_join'
}

/**
 * @description 活动 票种类型
 * @date 26/06/2024
 * @export
 * @enum {number}
 */
export enum TicketTypeEnum {
  /** 免费票 */
  FREE = 1,
  /** 付费票 */
  CHARGE = 2,
}

/**
 * @description 票种 库存是否限制(0:不限制;1:限制)
 * @date 26/06/2024
 * @export
 * @enum {number}
 */
export enum TicketStockLimitEnum {
  /** 不限制 */
  NO_LIMIT = 0,
  /** 限制 */
  LIMIT = 1,
}

/**
 * @description 票种 购买是否限制(0:不限制;1:限制)
 * @date 26/06/2024
 * @export
 * @enum {number}
 */
export enum TicketBuyLimitEnum {
  /** 不限制 */
  NO_LIMIT = 0,
  /** 限制 */
  LIMIT = 1,
}

/**
 * @description 票种状态【0:未开始;1:抢票中;2:已结束;】
 * @date 26/06/2024
 * @export
 * @enum {number}
 */
export enum TicketStatusEnum {
  /** 未开始 */
  NOT_START = 0,
  /** 抢票中 */
  RUSH_TICKET = 1,
  /** 已结束 */
  END = 2,
  /** 报名已满 */
  ENROLLMENT_FULL = 3,
}

/**
 * @description 购票时间类型(1：活动结束前可购票;2:自定义购票时间)
 * @date 26/06/2024
 * @export
 * @enum {number}
 */
export enum TicketBuyTimeTypeEnum {
  /** 活动结束前可购票 */
  ACTIVITY_END_TIME = 1,
  /** 自定义购票时间 */
  CUSTOM_TIME = 2,
}

/**
 * @description 退票设置类型[1:自定义时间设置(小时);2:随时可退，活动结束未核销自动退款]
 * @date 26/06/2024
 * @export
 * @enum {number}
 */
export enum RefundTicketTypeEnum {
  /** 自定义时间设置(小时) */
  CUSTOM_TIME = 1,
  /** 随时可退，活动结束未核销自动退款 */
  ANY_TIME = 2,
}

/**
 * @description 活动版本, 区分新旧活动
 * @date 28/06/2024
 * @export
 * @enum {number}
 */
export enum ActivityVersionEnum {
  /** 初始版 */
  initialVersion,
  /** 付费活动 */
  payActivity,
}

/**
 * @description 活动签到类型
 * @description 1:自主扫码签到,
                2:后台其他人代签到,
                3:后台代本人签到,
                4:管理员扫二维码凭证签到,
                5:管理员输数字码凭证签到,
                6:自主提交二维码凭证签到，
                7:自主提交数字码凭证签到,
                8:自主输入手机号签到签到,
                9:自主输入姓名签到,
                10:自主输入单位名称签到,
                0:未签到
 * @date 05/07/2024
 * @export
 * @enum {number}
 */
export enum SignTypeEnum {
  /** 自主扫码签到 */
  SCAN_SIGN_IN_CODE = 1,
  /** 后台其他人代签到 */
  OTHERS_SIGN_IN = 2,
  /** 后台代本人签到 */
  SELF_SIGN_IN = 3,
  /** 管理员扫二维码凭证签到 */
  ADMIN_SCAN_SIGN_IN = 4,
  /** 管理员输数字码凭证签到 */
  ADMIN_INPUT_SIGN_IN = 5,
  /** 自主提交二维码凭证签到 */
  QR_CODE_SIGN_IN = 6,
  /** 自主提交数字码凭证签到 */
  NUMBER_CODE_SIGN_IN = 7,
  /** 自主输入手机号签到签到 */
  PHONE_SIGN_IN = 8,
  /** 自主输入姓名签到 */
  MINI_NAME_SIGN_IN = 9,
  /** 自主输入单位名称签到 */
  MINI_UNIT_SIGN_IN = 10,
  /** 未签到 */
  NOT_SIGN_IN = 0,
}

export const SignTypeEnumTextMap: Record<SignTypeEnum, string> = {
  [SignTypeEnum.SCAN_SIGN_IN_CODE]: '自主扫码签到',
  [SignTypeEnum.OTHERS_SIGN_IN]: '后台其他人代签到',
  [SignTypeEnum.SELF_SIGN_IN]: '后台代本人签到',
  [SignTypeEnum.ADMIN_SCAN_SIGN_IN]: '管理员扫二维码凭证签到',
  [SignTypeEnum.ADMIN_INPUT_SIGN_IN]: '管理员输数字码凭证签到',
  [SignTypeEnum.QR_CODE_SIGN_IN]: '自主提交二维码凭证签到',
  [SignTypeEnum.NUMBER_CODE_SIGN_IN]: '自主提交数字码凭证签到',
  [SignTypeEnum.PHONE_SIGN_IN]: '自主输入手机号签到',
  [SignTypeEnum.MINI_NAME_SIGN_IN]: '自主输入姓名签到',
  [SignTypeEnum.MINI_UNIT_SIGN_IN]: '自主输入单位名称签到',
  [SignTypeEnum.NOT_SIGN_IN]: '未签到',
};

/**
 * @description 自主签到方式
 * @date 05/07/2024
 * @export
 * @enum {number}
 */
export enum SignTypesEnum {
  /** 1：扫描签到码签到 */
  SCAN = 1,
  /** 2：输入手机号匹配签到 */
  PHONE = 2,
  /**  3：使用票种数字码签到 */
  TICKET_NUMBER = 3,
  /** 4：使用票种二维码签到 */
  TICKET_QRCODE = 4,
  /** 5: 使用姓名搜索签到 */
  NAME = 5,
  /** 6: 使用单位搜索签到 */
  UNIT = 6,
}

/**
 * @description 票种报名是否需要审核(0:无需审核;1:需要审核)
 * @date 08/07/2024
 * @export
 * @enum {number}
 */
export enum ReviewStatusEnum {
  /** 无需审核 */
  NOT_REVIEW = 0,
  /** 需要审核 */
  NEED_REVIEW = 1,
}

/**
 * 排行列表类型
 */
export enum RankTypeEnum {
  /** 分享排行 */
  INVITE_SHARE = 'INVITE_SHARE',
  /** 成功邀约 */
  INVITE_REGISTER = 'INVITE_REGISTER'
}
/**
 * 1 本会已报名 2 其他会报名
 */
export enum IsRegister {
  NO = 0,
  SELF = 1,
  OTHER = 2
}

/**
 * 退费审核状态
 */
export enum RefundApplyStatus {
  /**
     * 未审核
     */
  Pending = 0,

  /**
   * 已通过
   */
  Approved = 1,

  /**
   * 未通过
   */
  Rejected = 2,
}

/**
 * 大屏展示模式
 */
export enum ShowModeEnum {
  /**
  * 自动模式
  */
  Auto = 0,
  /**
    * 手动模式
    */
  Manual = 1,

}

export const showModeDescriptions: { [key in ShowModeEnum]: string } = {
  [ShowModeEnum.Auto]: '自动模式',
  [ShowModeEnum.Manual]: '手动模式',
};